ACID প্রোপার্টিস হল ডেটাবেসে ট্রানজেকশন ম্যানেজমেন্টের চারটি মৌলিক গুণাবলী, যা ট্রানজেকশনের কার্যকারিতা এবং ডেটার সঠিকতা নিশ্চিত করে। এগুলো হল:
1. Atomicity (আটমিকতা)
- সংজ্ঞা: ট্রানজেকশন একটি একক ইউনিট হিসেবে কাজ করে। অর্থাৎ, এটি সম্পূর্ণ বা সম্পূর্ণরূপে বাতিল হতে হবে।
- ব্যাখ্যা: যদি ট্রানজেকশনের মধ্যে কোনো একটি অংশ ব্যর্থ হয়, তাহলে পুরো ট্রানজেকশন বাতিল হয়ে যাবে এবং সমস্ত পরিবর্তন পূর্বাবস্থায় ফিরে আসবে। উদাহরণস্বরূপ, যদি একটি ব্যাংকিং ট্রানজেকশনে টাকা স্থানান্তর করার সময় ডেবিট সফল হয় কিন্তু ক্রেডিট ব্যর্থ হয়, তাহলে পুরো ট্রানজেকশন বাতিল হবে এবং একাধিক অপারেশন সফল না হওয়ার কারণে টাকা স্থানান্তরিত হবে না।
2. Consistency (সঙ্গতি)
- সংজ্ঞা: ট্রানজেকশন সম্পন্ন হলে ডেটাবেসের সঙ্গতি বজায় থাকা উচিত।
- ব্যাখ্যা: ট্রানজেকশনের পর, ডেটাবেসের সব নিয়ম এবং সীমাবদ্ধতা (যেমন কনস্ট্রেইন্ট, ট্রিগার ইত্যাদি) মেনে চলতে হবে। যদি একটি ট্রানজেকশন ডেটা পরিবর্তন করে, তাহলে তা ডেটাবেসের বৈধ অবস্থায় থাকতে হবে। উদাহরণস্বরূপ, যদি একটি ট্রানজেকশন সম্পন্ন হলে ব্যালেন্স নেতিবাচক হয়ে যায়, তবে তা সঙ্গতিপূর্ণ নয়।
3. Isolation (বিচ্ছিন্নতা)
- সংজ্ঞা: একাধিক ট্রানজেকশন একসাথে চললেও, তারা একে অপরকে প্রভাবিত করবে না।
- ব্যাখ্যা: ট্রানজেকশনগুলোর মধ্যবর্তী ফলাফল অন্য ট্রানজেকশনগুলোর জন্য দৃশ্যমান নয় যতক্ষণ না ট্রানজেকশন সম্পন্ন হয়। এটি নিশ্চিত করে যে একটি ট্রানজেকশন অন্য ট্রানজেকশনের কার্যক্রমকে প্রভাবিত করে না। উদাহরণস্বরূপ, যদি দুটি ব্যবহারকারী একই সময়ে একটি অ্যাকাউন্ট থেকে টাকা স্থানান্তর করতে চায়, তবে তাদের ট্রানজেকশনগুলি বিচ্ছিন্নভাবে কার্যকর হবে।
4. Durability (স্থিতিশীলতা)
- সংজ্ঞা: একটি সফল ট্রানজেকশন পরবর্তী সময়েও স্থায়ীভাবে সংরক্ষিত থাকবে।
- ব্যাখ্যা: একবার একটি ট্রানজেকশন সফল হলে, তার ফলাফল সবসময় ডেটাবেসে থাকবে, এমনকি সিস্টেমে কোনো সমস্যা বা ক্র্যাশ হলে। উদাহরণস্বরূপ, যদি একটি পেমেন্ট সফল হয় এবং পরে সিস্টেমে একটি ক্র্যাশ হয়, তবে সেই পেমেন্টের তথ্য মুছে যাবে না এবং ভবিষ্যতে পুনরুদ্ধার করা যাবে।
সারসংক্ষেপ
ACID প্রোপার্টিস নিশ্চিত করে যে ডেটাবেস সঠিকভাবে পরিচালিত হচ্ছে এবং যে কোনো ডেটা পরিবর্তন নিরাপদ এবং সঠিকভাবে করা হচ্ছে। এটি ডেটাবেসের কার্যকারিতা এবং সুরক্ষার জন্য অত্যন্ত গুরুত্বপূর্ণ।
Content added By